﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.ServiceModel.Web;
using TaxiCaosRESTServices.Dominio;

namespace TaxiCaosRESTServices
{
 [ServiceContract]
    public interface IUnidades
    {
        //[OperationContract]
        [OperationContract]
        [WebInvoke(Method = "POST", UriTemplate = "Unidades", ResponseFormat = WebMessageFormat.Json)]
        Unidad CrearUnidad(Unidad unidadACrear);

        [OperationContract]
        [WebInvoke(Method = "GET", UriTemplate = "Unidades/{codigo}", ResponseFormat = WebMessageFormat.Json)]
        Unidad ObtenerUnidad(string codigo);

        [OperationContract]
        [WebInvoke(Method = "PUT", UriTemplate = "Unidades", ResponseFormat = WebMessageFormat.Json)]
        Unidad ModificarUnidad(Unidad unidadAModificar);

        [OperationContract]
        [WebInvoke(Method = "DELETE", UriTemplate = "Unidades", ResponseFormat = WebMessageFormat.Json)]
        void EliminarUnidad(Unidad unidadAEliminar);

        [OperationContract]
        [WebInvoke(Method = "GET", UriTemplate = "Unidades", ResponseFormat = WebMessageFormat.Json)]
        List<Unidad> ListarUnidades();

        [OperationContract]
        [WebInvoke(Method = "POST", UriTemplate = "ColaUnidades", ResponseFormat = WebMessageFormat.Json)]
        String ColaUnidadRegistraPost(Unidad _unidadACrearCola);
    }
}
